package com.genreate.util.xyzw;

import java.util.Arrays;
import java.util.List;

// 主程序
class XianYuBattle {
    public static void main(String[] args) {
        // 创建我方武将
        Hero luBu = new Hero("吕布", Position.FRONT_LEFT, 3000, 15000, 800, 120);
        Hero taiShiCi = new Hero("太史慈", Position.FRONT_RIGHT, 2500, 12000, 600, 130);
        Hero gongSunZan = new Hero("公孙瓒", Position.BACK_LEFT, 2000, 10000, 500, 110);
        Hero zhaoYun = new Hero("赵云", Position.BACK_MIDDLE, 2800, 13000, 700, 140);
        Hero guoJia = new Hero("郭嘉", Position.BACK_RIGHT, 1800, 9000, 400, 100);

        // 设置我方武将特殊属性
        luBu.setSpecialAttributes(30, 20, 50, 20, 40, 30, 25, 15, 50, 20, 10, 30, 15, 10);
        taiShiCi.setSpecialAttributes(25, 15, 40, 15, 35, 25, 30, 20, 45, 15, 5, 25, 20, 15);
        gongSunZan.setSpecialAttributes(20, 10, 30, 10, 25, 20, 20, 10, 40, 10, 15, 20, 25, 20);
        zhaoYun.setSpecialAttributes(28, 18, 45, 18, 38, 28, 28, 18, 48, 18, 8, 28, 18, 12);
        guoJia.setSpecialAttributes(15, 5, 60, 5, 20, 15, 15, 5, 35, 5, 40, 10, 10, 5);

        // 设置我方武将技能
        luBu.setActiveSkill(new WuShuangLuanWu());
        luBu.addPassiveSkill(new ZhanShen());
        // 添加其他被动技能...

        taiShiCi.setActiveSkill(new JianWuXuFa());
        // 添加太史慈的被动技能...

        // 创建敌方武将
        Hero zhouYu = new Hero("周瑜", Position.FRONT_LEFT, 2700, 12500, 650, 125);
        Hero sunCe = new Hero("孙策", Position.FRONT_RIGHT, 2900, 14000, 750, 135);
        Hero taiShiCiEnemy = new Hero("敌方太史慈", Position.BACK_LEFT, 2400, 11500, 580, 128);
        Hero zhenJi = new Hero("甄姬", Position.BACK_MIDDLE, 1900, 9500, 450, 115);
        Hero caoRen = new Hero("曹仁", Position.BACK_RIGHT, 2200, 16000, 900, 95);

        // 设置敌方武将特殊属性
        zhouYu.setSpecialAttributes(28, 18, 55, 18, 35, 28, 22, 12, 45, 18, 20, 25, 12, 8);
        sunCe.setSpecialAttributes(32, 22, 48, 22, 42, 32, 28, 18, 52, 22, 12, 32, 22, 15);
        taiShiCiEnemy.setSpecialAttributes(24, 14, 38, 14, 32, 24, 28, 18, 42, 14, 4, 24, 18, 14);
        zhenJi.setSpecialAttributes(18, 8, 65, 8, 22, 18, 18, 8, 38, 8, 45, 15, 8, 4);
        caoRen.setSpecialAttributes(15, 30, 20, 30, 15, 40, 10, 30, 30, 30, 5, 40, 35, 25);

        // 设置敌方武将技能 (省略...)

        // 创建队伍
        List<Hero> myTeam = Arrays.asList(luBu, taiShiCi, gongSunZan, zhaoYun, guoJia);
        List<Hero> enemyTeam = Arrays.asList(zhouYu, sunCe, taiShiCiEnemy, zhenJi, caoRen);

        // 开始战斗
        BattleSystem battle = new BattleSystem(myTeam, enemyTeam);
        battle.startBattle();
    }
}
